1. Technical Field
This invention generally relates to data processing, and more specifically relates to logical partitioning in a computer system.
2. Background Art
Since the dawn of the computer age, computer systems have evolved into extremely sophisticated devices that may be found in many different settings. Computer systems typically include a combination of hardware (e.g., semiconductors, circuit boards, etc.) and software (e.g., computer programs). As advances in semiconductor processing and computer architecture push the performance of the computer hardware higher, more sophisticated computer software has evolved to take advantage of the higher performance of the hardware, resulting in computer systems today that are much more powerful than just a few years ago.
The combination of hardware and software on a particular computer system defines a computing environment. Different hardware platforms and different operating systems thus provide different computing environments. In recent years, engineers have recognized that it is possible to provide different computing environments on the same physical computer system by logically partitioning the computer system resources to different computing environments. The AS/400 computer system developed by IBM is an example of a computer system that supports logical partitioning. If logical partitioning on an AS/400 is desired, partition manager code (referred to as a xe2x80x9chypervisorxe2x80x9d in AS/400 terminology) is installed that allows defining different computing environments on the same platform. Once the partition manager is installed, logical partitions may be created that define different computing environments. The partition manager manages the logical partitions to assure that they can share needed resources in the computer system while maintaining the separate computing environments defined by the logical partitions.
In a computer system with no logical partitions, a partition manager is not needed, and the operating system controls access to the computer system resources. In a computer system that has one or more logical partitions, the partition manager controls access to the computer system resources, and the operating systems installed in each logical partition uses the partition manager to perform its functions. Because both the operating system and the partition manager must be able to manage the resources in a computer system, the low-level functions of an operating system are typically implemented in a partition manager as well. In known systems, the partition manager is separate from the operating system, and the partition manager is generally maintained separately from the operating system. Because they share similar functions, a change to a common function in one will typically require a corresponding change in the other. Without a mechanism that supports logical partitioning in a more efficient manner, the programming of partition managers and the separate maintenance of operating systems and partition managers will continue to be a drain on resources in the computer industry.
According to the present invention, a partition manager for managing logical partitions in a computer system includes hooks to low-level operating system code in one of the logical partitions. By using the operating system code to manage the resources of a computer system, any changes that are made to the operating system are automatically reflected in the function of the partition manager. In addition, low-level functions of operating systems, which are often well-debugged and tested, can be used when generating a new partition manager, greatly simplifying the time and reducing the cost of producing a partition manager.
The foregoing and other features and advantages of the invention will be apparent from the following more particular description of preferred embodiments of the invention, as illustrated in the accompanying drawings.